home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload Trio 2
/
Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO
/
dir28
/
photonic.zip
/
HOW_TO.USE
< prev
next >
Wrap
Text File
|
1993-09-01
|
24KB
|
584 lines
******* CONTENTS ******
STANDARDIZED IMAGES
IMAGE PROCESSING PROGRAM SYNTAX
PHOTONIC TRANSISTOR PRODUCTION PROCEEDURE
MAKING AN AMPLIFIER
MAKING AN OR
MAKING AN XOR
IMAGE PROCESSING PROGRAMS:
DISPLAY PROGRAM
SINGLE IMAGE PROCESSING PROGRAMS
DOUBLE IMAGE PROCESSING PROGRAMS
SINGLE IMAGE ORIENTATION PROGRAMS
SPECIAL IMAGE PRODUCING PROGRAMS
SPECIAL IMAGE TRANSFER PROGRAMS
SPECIAL CALCULATIONS PROGRAMS
DEMO PACKAGE - VALUE & LIMITATIONS
* STANDARDIZED IMAGES:
Standardized image sets are well suited to the
production of holographic photonic computing components. By
standardizing the input and output image format, a single set of
image processing programs may be used to produce all of the
optical elements required for making a very large variety of
photonic products.
Photonic transistors, like elementary electronic boolean
functions, have two inputs and a single output. The standard
configuration consists of two side-by-side equal-sized squares
that project their images onto a single output square centered
between the input squares. The input squares are in a single
plane, parallel with the output plane.
The distance between the input and output planes depends
upon the resolution of the standard images, and the amount of
photographic reduction to be used during manufacture of the
functioning components. Basically, the higher the resolution,
the closer the standard planes can be brought together...and the
faster the switching speed. However, the calculation time grows
expotentially with resolution, so a balance must be struck
between calculating speed and usefulness.
The standard configuration allows for many
resolutions/component-switching-speeds. As R & D commences, the
requirements for high resolution are not as important as they
will grow to be in the future.
The first release photonic transistor development
package has a 320 x 320 pixel resolution for each standard I/O
square suitable for display on a VGA color monitor. This
provides a practical balance between functionality, useability,
and calculation speed. We will refer to this as "low
resolution," not that it is the lowest possible, but that the R
& D direction will will be toward increasing resolution rather
than the other way.
There are some important advantages to the low
resolution images produced by this development package:
1. Excellent tutorial for learning...
A. standardized hologram configurations,
B. the relationship between input images and output images,
C. the image differences that occur during the various
on/off states of digital photonics,
D. how holograms produce images that are able to interact
with the images produced by the second hologram,
E. how holograms are made that will produce desired
output images,
F. how fringe-component-separating masks are made for the
production of various boolean and amplification functions.
G. how photonic transistors are interfaced with
eachother, and with other types of components,
H. how images files are made and used.
I. photonic transistor production methods, so as to allow
the developer to produce practical higher resolution
software that may also be sold through the
Distributed Development & Sales Network
2. Calculation speed for simple images is fast enough to
enhance the learning process, while giving the developer a
feel for the effects on calculation time as images become
more complex.
3. Calculated images can be displayed on common VGA and EGA
screens, thus allowing a large number of computers to be
used for the R & D. Once one establishes a pattern for
the production of tested components, then it will be much
easier to upgrade that pattern to a higher resolution.
Thus the low resolution images will speed up photonic
development without imparing the advancement into more
sophisticated components.
3. Resolution is sufficient for making actual functioning
photonic components by photographing the results directly
from a VGA screen. The holograms and masks that result
will provide workable laboratory demonstration components
for varifying the workability of each component
4. Problem areas can be readily identified in the laboratory,
and corrected quickly on the screen.
5. Laboratory production of working components is quite rapid
using common photographic equipment. Since both the
holograms and masks are binary in nature, common black and
white film will be the most common medium.
6. Photonic components are readily reproducable. Multiple
photographs can be taken from a single computer image, or
copies made directly from the negatives.
7. Since the images can be easily made into negatives
directly on the screen, the photographic "negatives"
become positives. Thus eliminating the extra photographic
step.
8. Educational and demonstration photonic products can be
produced as reproductions of laboratory test components.
9. Photonics products may be evaluated by the Rocky Mountain
Research Center, and if accepted, may be sold through the
Distributed Development & Sales Network.
The standardized images are stored in "image" files as
32 bit IEEE real numbers as produced directly by a math
coprocessor. So, the array of 320 x 320 x 4 (bytes) represents
very large files. Such large files are used to speed up
calculating, but are arranged to make calculations on more than
one table possible while having only one full table in memory at
any one time. If the computer has a large high memory area that
can be designated as a RAM disk, this can greatly speed up
calculation times.
Most of the image processes take place on a single pixel
for single pixel basis. These operate fairly quickly. On a 286
machine with a math coprocessor, it takes about 15 seconds for a
full operation. Calculating the full images, however, requires
that light from every pixel in the input be calculated to every
single pixel in the output. Thus, calculating times are
multiplied by the number of non-zero input pixels. It doesn't
take many non-zero pixels to cause calculation times to take up
a considerable amount of time. There are, however, a number of
things that can be done to speed things up. These items are
covered in the photonic transistor developer's manual.
* IMAGE PROCESSING PROGRAM SYNTAX:
The photonic transistor development package has a large
number of image processing utility programs. Each one provides a
specific function, or operation on one or two input images to
produce an output image.
Each program is operated in the familiar DOS format by
entering the various parameters directly from the command line.
In most cases these consist of image file names such as IMAGE1
and IMAGE1. In DOS, the command line...
COPY IMAGE1 IMAGE2
uses the file IMAGE1 as an input to create a copy as the output,
called IMAGE2. The process destroys any previous file named
IMAGE2. So too, the command line .....
HIMAGE IMAGE1 IMAGE2
uses IMAGE1 as a standardized input image file, and produces an
output file named IMAGE2. In this case the the output file is a
hologram made from the precalculated image in IMAGE1.
Most of the development programs produce output image
files. This file is always the last one listed on the command
line. If, for example, the output filename is left out....
HIMAGE IMAGE1
then the output file replaces the input file. Because of the
large file size, automatic back up files are not made.
* PHOTONIC TRANSISTOR PRODUCTION PROCEEDURE:
1. A desired output image is first drawn by the developer using
any standard picture drawing program that is capable of drawing
mono images one pixel at a time.
Or, it may be made by:
A. Making an initial blank (all pixels = 0) image using
Z-IMG.COM.
B. Setting individual pictures on using PIX-IMG.COM to
set each pixel as desired.
2. Use A-IMG.COM to calculate the instantanious light image that
will on the A (left) input square coming from the output
image desired. (Note, the direction of light travel does not
affect the calculations so that the results will still be
correct for light coming from the A side hologram to the
output image.)
3. Use H-IMG.COM to convert the output image from step 2 into a
binary hologram. When laser light shines through the
photographic reduction of this computer graphic, the output
will be the image created in step 1.
4. Use the above proceedure in combination with the many other
programs for producing the B (right) side hologram, only
using the image calculating program B-IMG.COM.
5. Then varify the output images by calculating the outputs from
the first hologram using A-IMG.COM, and the second hologram
with B-IMG.COM. This gives the outputs for when either the A
side or the B side are on.
6. Combine the two new output images using C-IMG.COM to produce
the output that occurs when both beams are on.
7. If the desired images are not produced in all three states,
then the original design images are modified, and the process
itterated until the correct output is produced for all three
states that have a light input.
8. The state of both inputs being off need not be calculated if
both imputs actually drop to zero. Thus the output would be
zero. However, if that state actually produces a very low
light level as opposed to the high "on" state, then this
state must be calculated also.
9. The fringe component separating mask is produced using the
various programs that have two inputs such as OR-IMG.COM and
NOR-IMG.COM. These combine the two single beam states to
produce masks that either block light, or allow it to pass
(as needed for the particular component being made.)
10.The mask thus produced is overlaid using OVLY-IMG.COM on top
of the combined images from step 6 to produce the output that
will occur when both beams are on. Thus, all states, and
desired transistor output images may be tested in
simulation, and optimized by itteration of the process.
11.Once a completed transistor has been designed, then the
output images that occur from having the same mask overlaid
for each of the input states are used as input images (rather
than plain laser light) to the next transistor. Thus
multi-transistor arrays can be built up. Obviously, the best
arrangements will be ones that produce only one output image
that must flow to the next device, with the other states
being off.
* MAKING AN AMPLIFIER:
If a certain input hologram on the A (left side)
produces a certain output image, and a second hologram from the
B side produces the same image of the same phase, then the
composit image will produce constructive interference at that
image and the composit will be the same but brighter.
If one of those holograms has its phase reversed (by the
NOT-IMG.COM function, then destructive interference will occur
at the image position, but only during the state whereby both
inputs are on. Thus, the image pixels go dark.
However, the photons don't just go away. They are
relocated to other pixels that were formerly dark. If the mask
chosen blocks all light at the pixels that were on in the single
beam state, the output will be off in the single beam state, but
on in the double beam state.
* MAKING AN OR:
By selectively blocking or not blocking certain pixels
in the output mask, the light levels may be balanced so that a
smooth running OR circuit is produced having the same output
images and levels for all "on" states.
* MAKING AN XOR:
If in the example above, all pixels are blocked except
those where the single beam image appears, then photonic
relocation will cause the output to go off in the double beam
state, but be a full strength in the single beam state.
* IMAGE PROCESSING PROGRAMS:
Below: x = use the appropriate program name initial.
[ ] = [optional entries, do not include the brackets]
CAPITOL LETTERS = a program name
lower case letters = a file name of your choosing.
* DISPLAY PROGRAM:
D-IMG image1 [image2]
D-IMG.COM (DIMAGE.COM demo version) displays either one
or [optionally two] standard image squares from standardized
precalcualted image files. A properly adjusted VGA color or VGA
B&W monitor is required for direct photography for making
working photonic transistors. A color or B&W EGA monitor may be
used for viewing, although the actual graphic is somewhat out of
proportion. (MDA mono & CGA are not supported.)
The first file is displayed on the left side of the
screen, and the second file (if any) is displayed on the right.
The two images are displayed simultaneously so that they may be
photographed onto a single film because the alignment of the
holograms relative to eachother is critical.
* SINGLE IMAGE PROCESSING PROGRAMS:
H-IMG image1 [image2]
H-IMG.COM (HIMAGE.COM demo version) produces a binary
hologram image from file image1 by setting all pixels having a
positive instantanious light level by the function: IF input
pixel > 0 THEN output pixel = 1, ELSE output pixel = 0
Light from all pixels of the same phase will produce
constructive interference with all of the pixels with a net
instantanious amplitude of the same phase. However, destructive
interference will occur between the light eminating from two
pixels having net amplitudes of oposite phase (sign.)
By either blocking out all pixels from an undesired
phase (as in a conventional photographic hologram)... or by
changing the phase of the light using a phase hologram (one
having 1/2 wave difference in thickness so as to reverse the
phase coming from that pixel,) all of the light that arrives at
the output pixels will be in phase and thus produce constructive
interference. But, those pixels that are not part of the output
set that are "on" will be dark because of destructive
interference. Thus the calculated image will be produced by
light going through the calculated hologram.
NOT-IMG image1 [image2]
NOT-IMG.COM (NOTIMAGE.COM demo version) reverses the
phase of the light in the output image by the function: IF input
pixel > 0 THEN output pixel = 0, ELSE output pixel = 1.
NEG-IMG image1 [image2]
NEG-IMG.COM negates an image by changing the sign of all
pixels. This changes the phase of all input pixels by 180 degrees.
ABS-IMG image1 [image2]
ABS-IMG.COM makes all pixels positive.
* DOUBLE IMAGE PROCESSING PROGRAMS:
OR-IMG image1 image2 [image3]
OR-IMG.COM produces an combination of image1 and image2
to produce an output image2 [or image3]. The combination
follows the function IF either input pixel > 0 THEN output pixel
= 1, ELSE the output pixel = 0.
NOR-IMG image1 image2 [image3]
NOR-IMG.COM produces an combination of image1 and image2
to produce an output image2 [or image3]. The combination
follows the function IF either input pixel > 0 THEN output pixel
= 0, ELSE the output pixel = 1.
XOR-IMG image1 image2 [image3]
XOR-IMG.COM produces an combination of image1 and image2
to produce an output image2 [or image3]. The combination
follows the function IF only one input pixel > 0 THEN output pixel
= 1, ELSE the output pixel = 0.
AND-IMG image1 image2 [image3]
AND-IMG.COM produces an combination of image1 and image2
to produce an output image2 [or image3]. The combination
follows the function IF both input pixels > 0 THEN output pixel
= 1, ELSE the output pixel = 0.
AND-IMG image1 image2 [image3]
NAND-IMG.COM produces an combination of image1 and image2
to produce an output image2 [or image3]. The combination
follows the function IF both input pixels > 0 THEN output pixel
= 0, ELSE the output pixel = 1.
C-IMG image1 image2 [image3]
C-IMG.COM produces an combination of image1 and image2
to produce an output image2 [or image3]. The combination is the
algebraic sum of both input pixels that results from the optical
principle of superposition. This function is used to produce
the both beam on state from the two single beam output images.
CMP-IMG image1 image2 [image3]
CMP-IMG.COM produces an combination of image1 and image2
to produce an output image2 [or image3]. The combination
follows the function IF input pixel 1 = input pixel 2 THEN output pixel
= 1, ELSE the output pixel = 0. The results are also reported on
the screen. The output is usually not used for calculating, but
provides the designer with a visual of unequal pixels.
OVLY-IMG image1 image2 [image3]
OVLY-IMG.COM produces an combination by overlaying
image1 (usually either a hologram or a mask) on top of image2
(usually an image or composite image.) The result is the same as
blocking each image2 pixel by making it black to correspond with
each black pixel in image1, and leaving the level of the not
black pixels the same as would be the case with a transparrent
portion of a transmission hologram or mask.
The output image2 [or image3] follows the function IF
input pixel 1 <= 0 THEN output pixel = 0, ELSE the output
pixel = the value of input pixel 2.
ATTN-IMG image1 [image2]/attenuation
ATTN-IMG.COM produces an output image whereby every
pixel has been multiplied by the "attenuation" value. Usually
this is used for attenuation, but it can also be used to match
input light levels that from images in various positions with
respect to the laser. This function must be used in combination
with other functions in order to make actual attenuators.
* SINGLE IMAGE ORIENTATION PROGRAMS:
CW-IMG image1 [image2]
CW-IMG.COM (CWIMAGE.COM demo version) produces an output
image that has been rotated about the center 90 degree clockwise.
CCW-IMG image1 [image2]
CCW-IMG.COM (CCWIMAGE.COM demo version) produces an output
image that has been rotated about the center 90 degree counterclockwise.
F-IMG image1 [image2]
F-IMG.COM (FIMAGE.COM demo version) produces an output
image that has been flipped about a verticle line throuth the
center.
SW-IMG image1 [image2]
SW-IMG.COM (SWIMAGE.COM demo version) produces an output
image that has been flipped about a diagonal extending from
upper right to lower left.
* SPECIAL IMAGE PRODUCING PROGRAMS:
1-IMG image1
1-IMG.COM produces an output image that has all pixels
set to one.
0-IMG image1
0-IMG.COM produces an output image that has all pixels
set to zero.
PIX-IMG image1 [image2]/coordinates
PIX-IMG.COM sets the pixels at the stated coordinates = 1.
NPIX-IMG image1 [image2]/coordinates
NPIX-IMG.COM sets the pixels at the stated coordinates = 0.
BAR-IMG image1
BAR-IMG.COM produces a color bar image for help in recognizing the
values of the various colors. From left to right the values are:
Positive phase:
RED = Maximum and near maximum amplitude, >.99 * MAX Positive phase
PINK = Between maximum and just above 1.
1st BROWN = Near 1, > 1 and <= 1.1
WHITE = 1
2nd BROWN = Near 1, <1 and >= .99
MAGENTA = Between .1 and .99
LIGHT MAGENTA = Near 0, >0 and <= .1
BLACK = 0
Negative phase: (negative phase is expressed in positive numbers)
LIGHT CYAN = Near 0, >0 and <= .1
CYAN = Between .1 and .99
1st LIGHT BLUE = Near 1, <1 and >= .99
BLUE = 1
2nd LIGHT BLUE = Near 1, > 1 and <= 1.1
LIGHT GREEN = Between maximum and just above 1.
GREEN = Maximum and near maximum amplitude, >.99 * MAX Negative phase
POINT image1
POINT.COM produces an output image that results from a single point
located on the far right, centered vertically, and projected perpendicular
to the plane of the output image produced. This program is primarily used
produce a demonstration image that can be used for working with the other
demonstration programs.
* SPECIAL IMAGE TRANSFER PROGRAMS:
PCX-IMG pxdfile image1
PCX-IMG.COM produces an output image from a standard FAX
or CAD image file. All pixels that are white in the input are
made = 1 in the output, and all black input pixels are made = 0
in the output.
IMG-PCX image1 pxdfile
PCX-IMG.COM produces an output in standard FAX or CAD
PCX file format. All pixels that are > 0 are made white in the
output, and all others are made black.
* SPECIAL CALCULATIONS PROGRAMS:
In addition to the programs provided, the developer is
supplied with source code, with ready-made "tool" .OBJ modules
so that the shell code may be supplimented with ones own
calculation set as needed, assembled and linked to form one's
own development set matching programs.
The "tool" .OBJ modules include the file handling, data
routing house keeping routines, along with certain standard
calculations that are commonly needed.
* DEMO PACKAGE - VALUE & LIMITATIONS
The purpose of the demo package is to introduce
interested persons to the methods used in the production of
holographic photonics produces. By becoming aquainted with the
development package it will fire the imagination, kindle the
spark of creativity in them.
Naturally, a "demo" package does not contain the full
complement of programs necessary for the production of working
photonics products. This a protection both for the newly
interested person, and the developers who are already a part of
our Distributed Development and Sales Network.
The demo program image files are not compatible with
those from the development package, but they are otherwise
identical in basic function to their counterparts in the package.
* DISTRIBUTED DEVELOPMENT
Photonic transistors are a patented process. Licensed
developers have their products legally pertected by the photonic
transistor patents because they are licensed under the terms of
the licensing agreement, and patent law. This prevents unfair
competition from non-licensed individuals because the patent law
makes it illegal for anyone to MAKE, SELL, or USE any patented
item (anything that uses a fringe-component-seperator for
producing photonic transistor functions,) without permission of
the patent holder (Rocky Mountain Research Center.)
Ordinarily patents are used to maintain a monopoly over
a product, keeping everything "in house." We believe
differently.
By establishing the distributed development proceedure,
the best talent can be applied to the project. Development will
be much more rapid, and photonic products will begin replacing
electronic ones much sooner. By having many developers, each
working on his/her speciality, a larger variety of products will
result.
The Center will coordinate developers by promoting
cooperation between those who are working in similar fields.
Through our BBS, up-to-date information will be available on the
progress of all those in the network.
The basic criteria for determing who does what, will be
the creative skill of the individual developers, their speed in
being able to bring viable products to market, and the
marketplace.
Naturally, once one developer is making and selling a
product, it would be unfair permit someone else to make an
identical product...a substantially improved one yes...but not
identical. That's where the coordination part comes in.
By providing communication between developers, we will
promote (but not require) cooperation between those persons who
with to colaborate together on certain products.
Who makes the most money depends on what products the
buying public likes most.